home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-12-01 | 24.0 KB | 1,205 lines |
-
-
-
-
- IEN 98
-
-
- TCP Implementation Status
-
-
-
-
-
- Jon Postel
-
- Mike Wingfield
-
- Norm Abramovitz
-
- Bob Braden
-
- Gary Grossman
-
- Bill Plummer
-
- Jim Mathis
-
- Aage Stensby
-
- Dave Clark
-
-
- 3 May 1979
-
-
-
-
-
- Information Sciences Institute
- University of Southern California
- 4676 Admiralty Way
- Marina del Rey, California 90291
-
- (213) 822-1511
-
-
- IEN-98 J. Postel
- ISI
- 3 May 1979
-
-
-
- TCP IMPLEMENTATION STATUS
- -------------------------
-
- Introduction
- ------------
-
- This is a collection of reports on the status of implementations of the
- Transmission Control Protocol (TCP) [1]. The systems and reporters are:
-
- BBN Unix -- Mike Wingfield
- Ford KSOS -- Norm Abramovitz
- UCLA 360 -- Bob Braden
- DTI Unix -- Gary Grossman
- BBN Tenex -- Bill Plummer
- Tops-20
- SRI LSI-11 -- Jim Mathis
- NDRE NORD-10 -- Aage Stensby
- MIT Multics -- Dave Clark
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Postel [page 1]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- BBN Unix
-
-
-
- BBN Unix Report - Michael A. Wingfield
- ---------------
-
- The following is a status report on the TCP developed at BBN for DCA
- under contract DCA100-78-C-0011.
-
- Implementation Language
-
- C
-
- Memory requirements
-
- Bytes: 22000 instr, 15000 data
-
- Number of connections
-
- 10 currently, but a compile time parameter
-
- Operating System
-
- Unix with BBN IPC additions
-
- Hardware
-
- PDP-11
-
- Status
-
- TCP has been completed since March 15, 1979.
-
- User Programs
-
- There is a THP user and server available, as well as a Telnet user and
- server. A trivial ftp user and server for the raw movement of bytes
- between files exists and has been used to move files between a Unix on
- the ARPANET and a Unix on the RCCNET. There is also a test package
- for exercising TCP.
-
- Bandwidth
-
- 12Kb - 13Kb looped through the IMP, 20Kb internally looped.
-
- Programming Effort
-
- 6 man-months
-
-
-
- [page 2] Wingfield
-
-
-
- 3 May 1979
- IEN 98 TCP Implementation Status
- BBN Unix
-
-
-
- Documentation
-
- "TCP/PSIP Development Report" which describes the user interface to
- TCP and high level design. A software documentation report is
- required under the contract but is not available yet.
-
- Accessibility
-
- TCP is always available on link 155 at BBN-Unix (Host 0, Imp 63). A
- THP server is always listening. TCP and THP are also available at
- EDN-Unix when their machine is on the net (Host 3, Imp 20). All
- numbers are decimal.
-
- Additional Features
-
- This TCP implements the AUTODIN II security, precedence, and TCC
- features specified in the SRI TCP report. The gateway/2 program can
- forward incoming segments to other destinations if necessary. A
- flakiness simulator in the gateway can be made to drop, duplicate,
- reorder, and break different percentages of outgoing segments for
- testing purposes. These parameters can be changed dynamically.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wingfield [page 3]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- Ford KSOS
-
-
-
- Ford KSOS Report - Norm Abramovitz
- ----------------
-
- Implementation Language
-
- C and Modula
-
- Memory Requirements
-
- ??
-
- Number of Simultaneous Connections
-
- will depend on system capacity (not table space limited)
-
- Operating System
-
- KSOS Kernel
-
- Hardware
-
- PDP-11/70, 11/45(?)
-
- Status
-
- Currently in detail design, implementation to start circa 1 May 79.
-
- Higher Level Protocols
-
- none yet. (Server protocols for multi-level secure systems need some
- serious research work yet.)
-
- Other Features
-
- Design envisages support for a multi-level secure network, although no
- specific support is included. Internet datagram layer is supported
- including fragment reassembly.
-
- Point of Contact
-
- Jay McCauley or Norm Abramovitz (chief designer/KSOS TCP)
-
-
-
-
-
-
-
- [page 4] Abramovitz
-
-
-
- 3 May 1979
- IEN 98 TCP Implementation Status
- UCLA 360
-
-
-
- UCLA 360 Report - Bob Braden
- -----------
-
- Philosophical Remarks
-
- This implementation of the Internet and TCP protocols is designed to
- meet the following general objectives:
-
- (a) operate within the existing NCP system job, sharing code and
- control-block formats wherever possible;
-
- (b) be compatible at the system-call level with the existing
- user-level protocol modules;
-
- (c) implement the Internet protocol as a distinct layer, with
- interfaces designed to expedite the implementation of other
- higher-level internet protocols in addition to TCP;
-
- (d) require minimum NCP resources when internet protocol is not in
- use.
-
- Hardware
-
- IBM 360/370, with a Santa Barbara interface to the IMP.
-
- Operating System
-
- OS/MVT, Release 21.8, with the addition of several user-written
- Supervisor-call routines (including the Exchange program). The UCLA
- NCP operates as a system job, with its own internal multiprogramming
- and resource management mechanism.
-
- Implementation Language
-
- BAL (IBM's macro assembly language)
-
- Code Size (addition to existing NCP code)
-
- Resident Control Process 4K bytes
-
- Internet Protocol Layer 8K bytes (transient)
-
- TCP Protocol Layer 9K bytes (transient)
-
-
-
-
-
- Braden [page 5]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- UCLA 360
-
-
-
- Fixed Table Space
-
- The limited fixed table space is included in the code (above).
-
- Connections Supported
-
- Only practical limitation is amount of memory available in NCP region
- for buffers and per-connection control blocks (see following).
-
- Cost per Connection
-
- Control blocks
-
- For each connection, the internet and TCP layers require control
- blocks totaling 256 bytes.
-
- (*)Receive
-
- Segment reassembly buffer= max segment size - min internet header
- length + 16= 572 bytes per buffer.
-
- (*)Send
-
- 128 bytes per unacknowledged segment.
-
- Note: The actual data being sent is not counted here, as it occupies
- buffer space belonging to the appropriate user-level protocol module.
-
- (*)Note: There is a dynamic pool of these objects, shared among all
- active connections. The pool grows and shrinks dynamically with the
- number of connections; it is probably reasonable to expect an average
- of one segment reassembly buffer and one unacknowledged segment (total
- of 700 bytes) per TCP connection.
-
- In addition to this TCP-specific memory, there is the memory to
- support the user-level protocol. For example, a server-Telnet session
- to TSO requires control blocks and buffers totaling about 1800 bytes;
- this is identical for TCP and for the ARPANET Host-Host protocol.
-
- Performance
-
- No information available yet
-
-
-
-
-
-
- [page 6] Braden
-
-
-
- 3 May 1979
- IEN 98 TCP Implementation Status
- UCLA 360
-
-
-
- Operational Status
-
- In debugging
-
- Implementation Time
-
- Approximately 20 man-months
-
- User-Level Protocols Available
-
- User and Server Telnet
-
- Documentation
-
- In progress
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Braden [page 7]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- DTI Unix
-
-
-
- DTI Unix Report - Gary Grossman
- ---------------
-
- Background
-
- Digital Technology Incorporated (DTI) is constructing an IOC Network
- Front End (INFE) to connect WWMCCS hosts and terminals to the AUTODIN
- II network. As part of the INFE effort, DTI has developed a version 3
- TCP which will be updated to a version 4 TCP when Government direction
- is forthcoming.
-
- Implementation Language
-
- PDP-11 Version 6 Unix C
-
- Instruction Space Memory Required
-
- 9.6K 16-bit words of PDP-11 instructions
-
- Buffer and Table Memory Space Required
-
- Fixed
-
- 4K 16-bit words
-
- Per-connection
-
- Words of tables, etc.
-
- 100
-
- Words of buffer space
-
- None (uses user process buffers)
-
- Connections Supported
-
- Order of 50
-
- Operating System
-
- Version 6 Unix as modified for the INFE by the addition of a special
- interprocess communication mechanism.
-
-
-
-
-
- [page 8] Grossman
-
-
-
- 3 May 1979
- IEN 98 TCP Implementation Status
- DTI Unix
-
-
-
- Hardware
-
- DEC PDP-11/70 and PDP-11/45 (Code not machine-dependent; could run
- on other machines given appropriate C compiler and operating
- system, but there may be address space problems on machines with
- a single 16-bit address space per process.)
-
- Operational Status
-
- Has been run extensively with identical implementations only.
-
- Telnet Availability
-
- None
-
- Other Protocols Available
-
- Terminal-to-Host Protocol (THP) as specified in
-
- Postel, J., Garlick, L., and Rom, R., Terminal-to-Host Protocol
- Specification, Stanford Research Institute, Menlo Park, 15 July
- 1976.
-
- Measured Bandwidth
-
- Maximum bandwidth on a single connection through the DTI H516 IMP is
- 60K bits/second.
-
- Measured Packet Processing Rate
-
- Order of 40 packets/second
-
- Implementation Time
-
- Six (6) man-months
-
- Documentation
-
- Described in
-
- Healy, D.C. and Buford, W.E., Transmission Control Protocol and
- Pseudo Segment Interface Protocol Program Maintenance Manual, DTI
- Document Number 78020.C-INFE.3, Digital Technology Incorporated,
- Champaign, Illinois, 18 December 1978, 207 pp.
-
-
-
-
- Grossman [page 9]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- DTI Unix
-
-
-
- There is also extensive documentation in the source.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [page 10] Grossman
-
-
-
- 3 May 1979
- IEN 98 TCP Implementation Status
- BBN TENEX/TOPS20
-
-
-
- BBN TENEX/TOPS20 Report - William W. Plummer
- -----------------------
-
- Background Information
-
- There are several TCP implementations for TENEX and TOPS20. The first
- such version was written in (the compiler language) BCPL and ran in
- user mode. Later a MACRO-10 (assembly language) version was written
- which has been included in the monitors. The BCPL version tracked all
- protocol changes through TCP 2.5.2 and the assembly language version
- started with TCP 2.4. The BCPL TCP has now been retired and assembly
- language version are available for versions 2.5.2, 4.0 and 4.0(ver 1)
- (see below).
-
- It should be noted that the higher level protocols such as Telnet were
- implemented originally for the BCPL TCP. Since only minor changes
- have been made to the user interface, it is these same programs which
- are still in use with the monitors TCP.
-
- Bandwidth figures are rather hard to give because of variations in the
- operating systems, networks, setting of various parameters in the TCP
- during the measurement runs, and the continuing evolution of the TCP
- code itself. The bench mark used for the figures below is TCPTST, a
- program which sends 1000. packets to itself. This program attempts to
- keep 8 packets outstanding and thus something between 125. and 1000.
- acknowledge packets will flow in the reverse direction.
-
- BCPL TCP 2.5.2
-
- Code size
-
- 20,000. words
-
- Data space
-
- 16,000. words
-
- Environment
-
- KA10 processor
-
- TENEX operating system
-
- JSYS traps used to simulate monitor calls SNDIM/RCVIM to communicate
- with ARPANET
-
-
-
- Plummer [page 11]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- BBN TENEX/TOPS20
-
-
-
- Implementation time
-
- Basic protocol module
-
- 4 man-months, coding 6 man-months, debugging
-
- Each server
-
- 1 man-month, coding 1 man-month, debugging
-
- Higher-level protocols implemented
-
- Telnet server
- Telnet user
- ECHO
- SINK
- PRDATA (measurement program for PR Net)
-
- Bandwidth bench mark
-
- 438 seconds
-
- Status
-
- Retired, but could easily be revived.
-
- Comments
-
- Debugging was relatively easy since it was done in user mode. On
- the other hand only on other host was available to talk to. Many
- debugging feature such as a packet tracer were incorporated which
- helped considerably. Being in BCPL, the TCP implementors
- occasionally found themselves at the mercy of the compiler
- implementors.
-
- Assembly language TCP 2.5.2
-
- Code size
-
- 5,000. words
-
- Data space
-
- 4,000. words on TOPS20 101B 16,000. words on TENEX
- 16,000. words on TOPS20 3A on 2020
-
-
-
- [page 12] Plummer
-
-
-
- 3 May 1979
- IEN 98 TCP Implementation Status
- BBN TENEX/TOPS20
-
-
-
- Environment
-
- KA10 processor running TENEX or, Model A KL10/20 running TOPS20 101B
- or, Model 2020 running TOPS20 3A.
-
- Implementation time
-
- Basic protocol module
-
- 2 man-months, coding 6 man-months, debugging
-
- Each server
-
- None. (Same programs used)
-
- Higher-level protocols implemented
-
- Same as above.
-
- Bandwidth bench marks
-
- 46 seconds on KA10 67 seconds on 2020 30 seconds on KL10 with cache
-
- Status
-
- Currently available on BBNC, ISIC, and SRI-KA. Secure version
- running on BBNE and ISIA.
-
- Comments
-
- Last version 2.5 implementation. Many intermediate version 2.X
- steps were taken over a relatively long time. Debugging hampered by
- lack of stand alone computer time for monitor debugging.
-
- TCP 4.0
-
- This is the first of the version 4 implementations. The code was
- derived from the version 2.5.2 sources in approximately 2 weeks.
- Bandwidth and size figures are the same.
-
- Status
-
- Running on BBNB
-
-
-
-
-
- Plummer [page 13]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- BBN TENEX/TOPS20
-
-
-
- TCP 4.0(ver 1)
-
- TCP 4.0(ver 1) is derived from TCP 4. Internally it is somewhat
- different and offers more features to users. Most notable is a set of
- JSYS calls by which users may access the Internet layer in order to
- experiment with private Internet protocols. The mechanism by which
- TCP transfers data between user buffers and Internet packets is
- considerably different than it was in 4.0 and is much faster. Also
- the free storage management package has been streamlined. The major
- task underway is embedding the Telnet server in the monitor along with
- the TCP itself.
-
- Code size
-
- 5,200 words
-
- Data space
-
- 256,000 words on KL20 TOPS20 3A 16,000 words on TENEX, 2020, TOPS20
- 101B
-
- Environment
-
- Development System
-
- KL2040 processor
- TOPS20 3A monitor
- (Should work with TENEX and other versions of TOPS20, but this has
- not been tried yet.)
-
- Bandwidth bench mark
-
- 26 seconds (2040 without cache) 43 seconds (2020)
-
- Status
-
- Running on BBNF by arrangement
-
-
-
-
-
-
-
-
-
-
-
- [page 14] Plummer
-
-
-
- 3 May 1979
- IEN 98 TCP Implementation Status
- SRI LSI-11
-
-
-
- SRI LSI-11 Report - Jim Mathis
- -----------------
-
- Implementation Language
-
- PDP-11 MACRO assembler
-
- Hardware
-
- LSI-11 or PDP-11 in user mode
-
- Note: The software was developed to run on the MOS operating system
- for LSI-11s, but should be transportable with minor changes to other
- real-time operating systems that provide an interprocess communication
- and signaling mechanism. An earlier version of the software (version
- 2.5) has been transported to RSX-11, ELF, and Unix.
-
- Instruction Space Requirements
-
- TCP
-
- approximately 1800 decimal words
-
- Internet Protocol
-
- approximately 1000 decimal words
-
- Note: The TCP and Internet protocol operate from a network
- characteristics table that simplifies conversion from use on one
- packet-switched network to another. The software currently supports
- attachment to the ARPANET or the Packet Radio Network. The software
- is structured to allow attachments to multiple networks, although this
- feature has not been tested.
-
- Simultaneous Connections
-
- limited only by CPU loading and the amount of buffer space available
-
- The state information for each TCP connection is maintained in a
- connection block of approximately 50 words; but a minimum of 100-500
- words of buffer space is recommended for each connection in active
- use.
-
-
-
-
-
-
- Mathis [page 15]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- SRI LSI-11
-
-
-
- Comment
-
- The TCP and Internet software were developed for the Packet Radio
- Terminal Interface Unit to provide terminal access to internetwork
- hosts (a function similar to that provided by the TIPS for ARPANET
- hosts). Because the TIU is not a timesharing machine, the only higher
- level protocols available are Telnet. The Telnet will operate, by
- manual command, in either the active (user) or passive (server) mode.
-
- Status
-
- TCP
-
- - in preliminary release stage and undergoing further debugging
-
- - has undergone functional tests with other TCP version 4 sites
-
- Internet
-
- - has undergone functional tests with other TCP version 4 sites
-
- Implementation Time
-
- The effort expended to design and code the TCP and Internet software
- is difficult to estimate; the software has been evolving for the last
- 3 years. Reconstruction of the software from scratch would probably
- require about 6 to 10 man-months.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [page 16] Mathis
-
-
-
- 3 May 1979
- IEN 98 TCP Implementation Status
- NDRE NORD-10
-
-
-
- NDRE NORD-10 Report - Aage Stensby
- -------------------
-
- TCP STATUS
-
- Philosophical Remarks
-
- Due to the idiosyncrasies of the operating system, it has been a
- goal to keep the number of processes as low as possible without
- complicating the internal logic of the program. Accordingly, there
- is one process for input handling and one process for output
- handling. In addition, it has been necessary to include a separate
- retransmission process. The code has been tested rather thoroughly
- routine by routine and connections have been opened and closed a
- number of times in loop mode. The TCP does not yet support urgent
- or rubber EOL.
-
- Hardware
-
- The TCP runs on a NORD-10 with 64K memory.
-
- Operating System
-
- SINTRAN III, version 77.05.17c
-
- Implementation Language
-
- NORD PL, which is a machine oriented medium level language.
-
- Code Size
-
- 7k words(16 bit) This includes the present internet module.
-
- Buffer Space
-
- Dynamically allocated, maximum 7k which may be extended.
-
- Connections Supported
-
- No strict limit, but probably in the order of 4-5 due to available
- processing power.
-
- Cost per Connection
-
- ?
-
-
-
- Stensby [page 17]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- NDRE NORD-10
-
-
-
- Delay per Packet
-
- Not measured
-
- Bandwidth
-
- Not measured
-
- CPU Utilization
-
- Not estimated
-
- INTERNET STATUS
-
- The internet code is not separated from the TCP code. It is planned
- to gather it in a separate process with a well-defined interface to
- the TCP. Reassembling of fragments is not yet done. Maximum
- acceptable segment size is 1008 bytes.
-
- The internet address is:
-
- IMP LH HOST
-
- 51 0 1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [page 18] Stensby
-
-
-
- 3 May 1979
- IEN 98 TCP Implementation Status
- MIT Multics
-
-
-
- MIT Multics Report - Dave Clark
- ------------------
-
- Implementation Language
-
- PL/I
-
- Memory Space (in 36 bit words)
-
- TCP 13.6k, IN 5.5k
-
- Table Space
-
- About 40 words per connection
-
- Buffer Space
-
- In virtual memory, no relevant limit in size
-
- Hardware/Operating System
-
- H68/80, Multics
-
- Operational Status
-
- Currently available about half time for experimentation, up as
- experimental service in week or so.
-
- Other Protocols
-
- Datagram protocol, name server, user Telnet, server Telnet (The server
- Telnet is a kludge and requires programming by Honeywell before it can
- be considered really useable. Performance: No relevant data
- available yet. In a subjective test, Telnet is useable, but sometimes
- sluggish.
-
- Implementation Time
-
- I have no idea. It has been worked on by several people at the 10%
- level, so the total time invested is quite unclear.
-
-
-
-
-
-
-
-
- Clark [page 19]
-
-
-
- 3 May 1979
- TCP Implementation Status IEN 98
- References
-
-
-
- References
- ----------
-
-
-
- [1] J. Postel. "Transmission Control Protocol -- Version 4," IEN 81,
- USC-Information Sciences Institute, February 1979.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [page 20] Postel
-
-